package done.easy_101_200;

import com.study.common.TreeNode;
import lombok.extern.slf4j.Slf4j;
import org.junit.Test;

import static java.lang.Math.max;

/**
 * 104. Maximum Depth of Binary Tree
 * 给定一个二叉树，找出其最大深度。
 * 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。
 * <p>
 * 说明: 叶子节点是指没有子节点的节点。
 * <p>
 * 示例：
 * 给定二叉树 [3, 9, 20, null, null, 15, 7]，
 * <p>
 * 3
 * / \
 * 9  20
 * /  \
 * 15   7
 * 返回它的最大深度 3 。
 * 2019-03-23 10:27 PM
 **/
@Slf4j
public class MaximumDepthOfBinaryTree {

    @SuppressWarnings("all")
    public int maxDepth(TreeNode root) {
        // 190325 first
        // 190528 second
        return -1;
    }

    @Test
    public void test() {
        TreeNode root = new TreeNode(3,
                9, new TreeNode(20,
                15, 7));
        log.info("result:{}", maxDepth(root));
    }
}



























/*
public int maxDepth(TreeNode root) {
    if (root==null) {
        return 0;
    }
    return Math.max(maxDepth(root.left), maxDepth(root.right)) + 1;
}
*/
